package com.example.server.web.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.server.web.domain.StudentQuestionnaire;
import com.example.server.web.domain.page.PageQueryDto;
import com.example.server.web.domain.dto.StuQuestionnaireParamDto;
import com.example.server.web.domain.page.TableDataInfo;
import com.example.server.web.domain.vo.StuQuestionnaireVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 作者
 * @since 2023-04-26
 */
public interface StudentQuestionnaireService extends IService<StudentQuestionnaire> {

    /**
     * 提交学生填写问卷记录
     * @param studentQuestionnaire
     */
    void updateLog(StudentQuestionnaire studentQuestionnaire);

    /**
     * 获得学生填写问卷的记录
     * @param questionnaireId
     * @param userId
     * @return
     */
    List<StudentQuestionnaire> getLog(Long questionnaireId, Long userId);

    /**
     * 根据问卷id查询学生填写问卷记录
     * @param paramDto
     * @param pageQueryDto
     * @return
     */
    TableDataInfo<StuQuestionnaireVo> getPageByQnId(StuQuestionnaireParamDto paramDto, PageQueryDto pageQueryDto);

    /**
     * 根据条件查询学生记录列表
     * @param queryWrapper2
     * @return
     */
    List<StudentQuestionnaire> getList(LambdaQueryWrapper<StudentQuestionnaire> queryWrapper2);
}
